/*
 * @Author: songxiang songxiang0806@qq.com
 * @Date: 2025-08-26 22:10:28
 * @LastEditors: songxiang songxiang0806@qq.com
 * @LastEditTime: 2025-08-26 22:17:17
 * @FilePath: \sdc-supermap-webgl\src\utils\tooltop.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
export class Tooltip {
  TooltipDom: HTMLDivElement
  constructor(message: string, div?: HTMLElement) {
    // 创建浮层元素并设置样式
    this.TooltipDom = document.createElement('div')
    this.TooltipDom.style.cssText = `
          overflow: auto;
          position:absolute;
          background: #fff;;
          color:#666;
          box-shadow: rgba(168, 168, 168, 0.295) 1px 2px 10px;
          border-radius:5px;
          padding:10px;
          display:inline-block;
          font-size:14px;
          z-index:2;
          pointer-events:none
        `
    this.TooltipDom.style.display = 'none'
    // 设置id方便寻找
    this.TooltipDom.setAttribute('id', 'vc-tooltip')
    if (div) {
      // 将浮层插入到body中
      div.appendChild(this.TooltipDom)
    } else {
      // 将浮层插入到body中
      document.body.appendChild(this.TooltipDom)
    }
    // 浮层中的文字 通过属性值传递动态的显示文案
    this.TooltipDom.innerHTML = message
    // document.getElementById('vc-tooltip').innerHTML = tooltip
  }
  changeMessage(message: string) {
    this.TooltipDom.innerHTML = message
  }
  changePosition(position: any) {
    this.TooltipDom.style.display = 'block'
    this.TooltipDom.style.top = position.y
      ? position.y + 15 + 'px'
      : position.endPosition.y + 15 + 'px'
    this.TooltipDom.style.left = position.x
      ? position.x + 15 + 'px'
      : position.endPosition.x + 15 + 'px'
  }
  destroy() {
    // 找到浮层元素并移出
    this.TooltipDom &&
      this.TooltipDom.parentElement!.removeChild(this.TooltipDom)
  }
}
